import java.math.BigDecimal;
import java.util.Objects;

public class 精度的比较 {
    public static void main(String[] args) {
/*        float a = 1.0f - 0.9f;
        float b = 0.9f - 0.8f;
        System.out.println(a);// 0.100000024
        System.out.println(b); // 0.099999964
        System.out.println(a==b); //false*/

    //解决精度丢失直接使用 BigDecimal 来定义浮点数的值，再进行浮点数的运算操作即可
        BigDecimal a = new BigDecimal("1.0");
        BigDecimal b = new BigDecimal("0.9");
        BigDecimal c = new BigDecimal("0.8");

        BigDecimal x = a.subtract(b); //subtract 方法用于将两个 BigDecimal 对象相减
        BigDecimal y = b.subtract(c);

        System.out.println(x);
        System.out.println(y);
        System.out.println(Objects.equals(x,y));


        BigDecimal bigDecimal = new BigDecimal("0.1");


    }
}
